<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数据类型转换</title>
    <script>
        //一.转为字符串类型
        //1.把数字型转化为字符串型   变量.toString()
        var num=10;
        var str=num.toString();
        console.log(str);
        console.log(typeof str);
        //2.我们利用 String(变量)       //注意S一定要大写，不然会报错
        console.log(String(num));
        //3.利用 + 拼接字符串的方法实现转换效果  (这种方法也被称为隐式转换)
        console.log(num);
        console.log(num +'');// ''这是空字符串  

        
        //二.其他类型转换为数字型(重点)
            //1.parseInt(变量)  可以把 字符型的转换为数字型 得到的是整数
        var age=prompt('请输入您的年龄');
        console.log(parseInt(age));
        console.log(typeof age);
        console.log(parseInt('3.14'));  // 3   取整
        console.log(parseInt('3.94'));  // 3   向下取整(忽略小数位)
        console.log(parseInt('120px')); //  120 会去掉px这个单位(其实可以看成读取到字母就识别不出就直接识别出前面识别出来的数字)
        console.log(parseInt('120cm1654556'));  //120
        console.log(parseInt('rem120px'));      //NaN  读取第一个是字母，所以就识别不出后面的了
        //2.parseFloat(变量) 可以把 字符型的转换为数字型 得到的是小数 浮点数
        console.log(parseFloat('3.14'));
        console.log(parseFloat('120px')); //  120 
        console.log(parseFloat('120cm1654556'));  //120
        console.log(parseFloat('rem120px'));      //NaN  读取第一个是字母，所以就识别不出后面的了
        //3.利用Number()强制转换
        var str='123';
        console.log(Number(str));   //123
        console.log(Number('12'));
        //4.隐式转换    利用了算术运算 - * / 
        console.log('12'-0);    //12
        console.log('123'-'120');   // 3
        console.log('123'*1);   //123
        console.log('81'/9);    //9


        //三.其他类型转换成布尔型(Boolean)  只有以下六个会转变为false 其他的都转换为true
        console.log(Boolean('')); //false 
        console.log(Boolean(0));    //false
        console.log(Boolean(NaN)); //false
        console.log(Boolean(null)); //false
        console.log(Boolean(undefined)); //false 
        console.log(Boolean(false));    //false

        console.log(Boolean(true));  //true
        
    </script>
</head>
<body>
    
</body>
</html>